package model

import "time"

type User struct {
	Id             uint      `gorm:"column:id;type:bigint UNSIGNED;comment:id;primaryKey;not null;" json:"id"`                                     // id
	CreatedAt      time.Time `gorm:"column:created_at;type:datetime(3);comment:创建时间;not null;" json:"created_at"`                                  // 创建时间
	UpdatedAt      time.Time `gorm:"column:updated_at;type:datetime(3);comment:更新时间;not null;default:CURRENT_TIMESTAMP(3);" json:"updated_at"`     // 更新时间
	DeletedAt      time.Time `gorm:"column:deleted_at;type:datetime(3);comment:删除时间;default:NULL;" json:"deleted_at"`                              // 删除时间
	Mobile         string    `gorm:"column:mobile;type:char(11);comment:手机号;not null;" json:"mobile"`                                              // 手机号
	Password       string    `gorm:"column:password;type:varchar(255);comment:密码;not null;" json:"password"`                                       // 密码
	ProfilePicture string    `gorm:"column:profile_picture;type:varchar(255);comment:头像;not null;" json:"profile_picture"`                         // 头像
	Nickname       string    `gorm:"column:nickname;type:varchar(255);comment:昵称;not null;" json:"nickname"`                                       // 昵称
	LetsChat       string    `gorm:"column:lets_chat;type:varchar(255);comment:来聊号;not null;" json:"lets_chat"`                                    // 来聊号
	Gender         string    `gorm:"column:gender;type:varchar(2);comment:性别;not null;" json:"gender"`                                             // 性别
	FriendNumber   uint      `gorm:"column:friend_number;type:bigint UNSIGNED;comment:好友数量;not null;default:20;" json:"friend_number"`             // 好友数量
	GroupNumber    uint      `gorm:"column:group_number;type:bigint UNSIGNED;comment:群组数量;not null;default:20;" json:"group_number"`               // 群组数量
	Member         uint      `gorm:"column:member;type:bigint UNSIGNED;comment:会员 1:vip1 2:vip2 3:vip3 4:vip4;not null;default:20;" json:"member"` // 会员 1:vip1 2:vip2 3:vip3 4:vip4
	Status         uint      `gorm:"column:status;type:bigint UNSIGNED;comment:状态 1正常 2:已冻结;not null;default:20;" json:"status"`                   // 状态 1正常 2:已冻结
}

func (u *User) TableName() string {
	return "user"
}
